#include <stdio.h>
#include <math.h>

#define Epsilon 1.0E-6

int main()
{
    float x1,x2,x0,f1,f2,f0;
    x0 = (x1 + x2) / 2;
    f0 = 2*x0*x0*x0 - 4*x0*x0 + 3*x0 - 6;
    while(fabs(f0) >= Epsilon)
    {
        if(f0 * f1 < 0)
        {
            x2 = x0;
            f2 = 2*x2*x2*x2 - 4*x2*x2 + 3*x2 - 6;
        }
        if(f0 * f2 < 0)
        {
            x1 = x0;
            f1 = 2*x1*x1*x1 - 4*x1*x1 + 3*x1 - 6;
        }
        x0 = (x1 + x2)/2;
        f0 = 2*x0*x0*x0 - 4*x0*x0 + 3*x0 - 6;
    }
    printf("用二分法求得方程的根为%f\n",x1);
}
